import java.io.File;
import java.io.IOException;

public class file_test1 {
    public static void main(String[] args) throws IOException {
        FindFile(new File("D:/"),"QQ.exe");

    }
    /**
     * 去目录下搜索某个文件
     * @param dir       目录
     * @param fileName  文件名
     */

    public static void FindFile(File dir, String fileName) throws IOException {
        // 1、判断异常情况
        if (dir == null || !dir.exists() || dir.isFile()){
            return;
        }

        // dir不是空  存在  且是一个目录
        // 2、获取当前文件下的全部一级目录
        File[] files = dir.listFiles();

        // 3、判断当前目录下是否存在一级文件对象  以及是否可以拿到一级文件对象
        if (files != null && files.length > 0){
            // 遍历全部一级文件对象
            for (File file : files) {
                // 判断这个一级文件对象是否是文件
                if (file.isFile()){
                    // 是文件的话 需要判断当前文件是不是我们要找的文件
                    if(file.getName().equals(fileName)){
                        System.out.println("找到了" + file.getAbsoluteFile());
                        Runtime runtime = Runtime.getRuntime();
                        runtime.exec(file.getAbsolutePath());
                    }
                }else {
                    // 是文件夹 继续重复这个过程
                    FindFile(file,fileName);
                }
                
            }
        }
    }
}
